package com.sayimo.maker.user.dao;

import java.util.List;
import java.util.Map;

import com.sayimo.framework.exception.DaoException;
import com.sayimo.maker.user.vo.Customer;

/**
 * @Copyright (c) 2015 广东省尚一互联网有限公司
 * @Project: schoolmallapi
 * @ClassName: CustomerIterfaceDao
 * @Description: 
 * @Author:	chenpy
 * @Date:	日期：2015年12月24日  时间：下午2:46:58
 * @Version 1.0.0
 */
public interface CustomerInterfaceDao {
	
	/**
	 * 
	* @Title: queryCustomerInfo
	* @Author: 田超
	* @Date:日期：2017年2月14日 : 下午3:38:48
	* @Description:获取用户信息
	* @return Customer
	* @Version 1.0.0
	 */
	public Customer queryCustomerInfo(String accout) throws DaoException;
	
	public Map<String,Object> queryCustomerCount(Integer id)throws DaoException;
	
	public List<Customer> queryProviderId(Integer id)throws DaoException;
	
	/**
	 * 
	* @Title: queryPeopleCode
	* @Author: 田超
	* @Date:日期：2017年2月20日 : 下午3:59:49
	* @Description:
	* @return Customer
	* @Version 1.0.0
	 */
	public Customer queryPeopleCode(Integer id)throws DaoException;
	/**
	 * 
	* @Title: queryChilderCustomer
	* @Author: 田超
	* @Date:日期：2017年2月24日 : 上午10:55:11
	* @Description:查询会员列表
	* @return List
	* @Version 1.0.0
	 */
	public List<Customer> queryChilderCustomer(Integer id)throws DaoException;
	
	public Customer queryBymobilePhone(String mobilePhone)throws DaoException;
	
	public List<Customer> queryCustomerByCond(Customer customer) throws DaoException;
	
	public int insertCustomer(Customer customer) throws DaoException;
	
	public int updateCustomer(Customer customer) throws DaoException;
	
	public int updateModifyPhone(Customer customer) throws DaoException;
	
	public int queryCountByAccount(String account) throws DaoException;
	
	public Customer queryCustomerByOpenId(String openId) throws DaoException;
	
	/** 
	* @Title: getCustomerListByParentId
	* @Description:查询会员下对应的所有下级会员信息
	* @param parentId
	* @throws DaoException
	* @return List<Customer>
	*/ 
	public List<Customer> getCustomerListByParentId(Integer parentId) throws DaoException;
	
	@SuppressWarnings("rawtypes")
	public Map queryOrdersListCntByStatus(Customer customer,Integer mallType) throws DaoException;
	
	public Customer queryMemberCustomerById(Integer id) throws DaoException;
	
	public Integer getCustomerCountByParentId(Integer parentId) throws DaoException;
	
	 /**
	 * @Package com.sayimo.maker.user.dao
	 * @Author 龚益君
	 * @MethodName:queryMemberCustomerById
	 * @Description:login
	 * @param id
	 * @return
	 * @throws DaoException
	 * @Date 2016年12月30日,上午10:20:54
	 */
	public Customer makerLogin(Customer customer) throws DaoException;
	/**
	 * 
	* @Title: queryByproviderAccout 
	* @Author: 田超
	* @Date:日期：2016年12月5日  时间：上午10:21:11
	* @Description: 根据账号查询密码
	* @return
	* @throws DaoException
	* @return EnterpriseAccount
	* @Version 1.0.0
	 */
	public Customer queryByAccout(String accout) throws DaoException;
	
	/** 
	* @Title: getMemberMustReadList
	* @Description:查询会员必读列表
	* @param mark
	* @throws DaoException
	* @return List
	*/ 
	@SuppressWarnings("rawtypes")
	public List getMemberMustReadList(String mark) throws DaoException;
	
	/** 
	* @Title: queryCustomerInfoByTime
	* @Description:批量为用户生成二维码
	* @param mark
	* @throws DaoException
	* @return List
	*/ 
	public List<Customer> queryCustomerInfoByTime()throws DaoException;
}
